package w83b.w83bOperacionesPaso.w83bLotesPreavisos;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bLotesPreavisosBean;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bClsTrazas;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaPreavisosOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
			contexto.set("action",request.getParameter("action"));
			
			W83bClsTrazas.trazaError(null, "@@@@@@@@@@@ W83bTablaPreavisosOPAction @@@@@@@@@@@@",null);
			
			//String codColumna = (String)contexto.get("codColumna");//NOPMD
			String codLote = (String)contexto.get("codLote");
			//String codSelec = (String)contexto.get("codSelec");
			
			//String indicePreaviso = (String)contexto.get("indicePreaviso");
			contexto.set("codSelec", codLote);
			
			if(!"codSelec".equals(codLote)){
				contexto.set("codSelec", codLote);
			}
	
			
		
			W83bLotesPreavisosBean lotesPreavisosBean = (W83bLotesPreavisosBean)contexto.get("w83bLotesPreavisosBean");
	
			W83bClsTrazas.trazaError(null, "@@@@@@@@@@@ W83bTablaPreavisosOPAction w83bUsuarioXLNets @@@@@@@@@@@@",null);
			lotesPreavisosBean.setUsuarioBean((W83bUsuarioXLNetsBean)contexto.get("w83bUsuarioXLNets"));
			W83bClsTrazas.trazaError(null, "@@@@@@@@@@@ W83bTablaPreavisosOPAction despues de w83bUsuarioXLNets @@@@@@@@@@@@",null);
			
			lotesPreavisosBean.setCif(request.getParameter("w83bLotesPreavisosBean.cif"));
			lotesPreavisosBean.setCodLote(codLote);
			//lotesPreavisosBean.setColumna(codColumna);
		
			lotesPreavisosBean.setIdioma((String)contexto.get("w83bCgaIdioma"));
		
			/*if((StringUtils.isEmpty((String)contexto.get("modoPantalla")))){
					if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){*/
			
			if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){				
					/*if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))
						){
						lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginadorPaginaUno(request, lotesPreavisosBean);
						//lotesPreavisosBean.setPage("1");
						contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);
					}else{*/
						lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginadorPaginaUno(request, lotesPreavisosBean);
					
						contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);	
					
					//}
		}else if("sord".equals(request.getParameter("action"))){
			lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);
		}else if(StringUtils.isEmpty(((W83bLotesPreavisosBean)contexto.get("w83bLotesPreavisosBean")).getSort())){
			lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);
		}else if(W83bClsConstantes.MODO_BUSQUEDA_CONBUSQ_INICIAL.equals(contexto.get("modoPantalla"))){
			lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);
		}else{
			lotesPreavisosBean = (W83bLotesPreavisosBean)W83bUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);
			contexto.set("w83bLotesPreavisosBean",lotesPreavisosBean);	
		}
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");
		W83bClsTrazas.trazaError(null, "@@@@@@@@@@@ W83bTablaPreavisosOPAction @@@@@@@@@@@@",null);
		W83bLotesPreavisosBean lotesPreavisosBean = (W83bLotesPreavisosBean)contexto.get("w83bLotesPreavisosBean");
		
		
		
		
		if(null==(ArrayList)contexto.get("w83bListaLotesPreavisos2")){	
			contexto.set("w83bListaLotesPreavisos2", new ArrayList());
		}/*else{
			contexto.set("tamanyoListaPreavisos",String.valueOf(((ArrayList)contexto.get("w83bListaLotesPreavisos2")).size()));
		}*/
		if(lotesPreavisosBean.isCambioPagina()&&!"sord".equals(request.getParameter("action"))){
			return mapping.findForward("outOP");
		}else 
			if (("find").equals(action)
				||("sord").equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				
				//if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				//}
			}
		}
		
		return mapping.findForward("ok");
	}

}
